查看原文
其他

Seaborn:一行代码生成酷炫狂拽的数据集可视化

The following article is from Python大数据分析 Author 王大毛

之前看其他大佬的项目,只在意他们通过可视化的数据集,对数据特征挖掘的思路,但没有在意他们做可视化的工具。轮到自己做的时候就发现,wtf!matplotlib可以更难用一点嘛?别人酷炫狂拽,坐标轴上还有直方图的可视化究竟是怎么弄的?

今天碰到了Seaborn的库,一行代码就出图,爱了!

Seaborn介绍

Seaborn是Python的数据统计图形库。它基于matplotlib构建,并与pandas数据结构紧密集成。

Seaborn功能简介


  • 面向数据集的API,便于观察多个变量之间的关系

  • 支持分类变量可视化或汇总统计信息



  • 可视化单变量或双变量分布,以及在数据子集之间进行比较



  • 不同因变量的线性回归和展示



  • 方便查看复杂数据集的整体结构



  • 强大的函数,可让您轻松构建复杂的可视化



  • 基于matplotlib的样式

  • 包含调色板工具
flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
sns.palplot(sns.color_palette(flatui))

seaborn功能初探

#导入库
import numpy as np
import pandas as pd
import seaborn as sns

单变量可视化

查看seaborn中的单变量分布的最便捷方法是distplot()函数。默认情况下,将绘制直方图并拟合核密度估计(KDE, kernel density estimate)。

# 生成数据
x = np.random.normal(size=100)
# 数据可视化
sns.distplot(x)

双变量分布可视化

在seaborn中可视化双变量的方法是jointplot()函数,该函数创建一个多面板图形,该图形同时显示两个变量之间的双变量(或联合)关系以及每个变量的单变量分布。

# 生成二维数据
mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 200)
df = pd.DataFrame(data, columns=["x", "y"])
# 数据可视化
sns.jointplot(x="x", y="y", data=df)

  • 二维直方图
sns.jointplot(x=x, y=y, kind="hex")

  • 核密度估计
sns.jointplot(x="x", y="y", data=df, kind="kde")

多变量数据可视化

要在多变量数据集中绘制成对的双变量分布,可以使用pairplot()函数。这将创建轴矩阵,并显示DataFrame中每列的关系。默认情况下,它还会在对角轴上绘制每个变量的单变量分布。

# 读入内置数据
iris = sns.load_dataset("iris")
# 数据可视化
sns.pairplot(iris)


精彩回顾





Python网络爬虫与文本数据分析

如何使用Python快速构建领域内情感词典

Pandas 50题练习

Pandas数据处理——盘点那些常用的函数(上)

Pandas数据处理——盘点那些常用的函数(下)

中文文本数据逻辑性分析库

中文文本分析相关资源汇总

cnsenti中文情绪情感分析库

Python全栈-60天精通之路

Python数据分析相关学习资源汇总帖

漂亮~pandas可以无缝衔接Bokeh

综述:文本分析在市场营销研究中的应用

2020年B站跨年晚会弹幕内容分析

YelpDaset: 酒店管理类数据集10+G

Loughran&McDonald金融文本情感分析库



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存